struct _DISPATCHER_HEADER// Size=0x18
{
    long Lock;// Offset=0x0 Size=0x4
    long LockNV;// Offset=0x0 Size=0x4
    unsigned char Type;// Offset=0x0 Size=0x1
    unsigned char Signalling;// Offset=0x1 Size=0x1
    unsigned char Size;// Offset=0x2 Size=0x1
    unsigned char Reserved1;// Offset=0x3 Size=0x1
    unsigned char TimerType;// Offset=0x0 Size=0x1
    unsigned char TimerControlFlags;// Offset=0x1 Size=0x1
    unsigned char Absolute:1;// Offset=0x1 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char Wake:1;// Offset=0x1 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char EncodedTolerableDelay:6;// Offset=0x1 Size=0x1 BitOffset=0x2 BitSize=0x6
    unsigned char Hand;// Offset=0x2 Size=0x1
    unsigned char TimerMiscFlags;// Offset=0x3 Size=0x1
    unsigned char Index:6;// Offset=0x3 Size=0x1 BitOffset=0x0 BitSize=0x6
    unsigned char Inserted:1;// Offset=0x3 Size=0x1 BitOffset=0x6 BitSize=0x1
    unsigned char Expired:1;// Offset=0x3 Size=0x1 BitOffset=0x7 BitSize=0x1
    unsigned char Timer2Type;// Offset=0x0 Size=0x1
    unsigned char Timer2Flags;// Offset=0x1 Size=0x1
    unsigned char Timer2Inserted:1;// Offset=0x1 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char Timer2Expiring:1;// Offset=0x1 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char Timer2CancelPending:1;// Offset=0x1 Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char Timer2SetPending:1;// Offset=0x1 Size=0x1 BitOffset=0x3 BitSize=0x1
    unsigned char Timer2Running:1;// Offset=0x1 Size=0x1 BitOffset=0x4 BitSize=0x1
    unsigned char Timer2Disabled:1;// Offset=0x1 Size=0x1 BitOffset=0x5 BitSize=0x1
    unsigned char Timer2ReservedFlags:2;// Offset=0x1 Size=0x1 BitOffset=0x6 BitSize=0x2
    unsigned char Timer2ComponentId;// Offset=0x2 Size=0x1
    unsigned char Timer2RelativeId;// Offset=0x3 Size=0x1
    unsigned char QueueType;// Offset=0x0 Size=0x1
    unsigned char QueueControlFlags;// Offset=0x1 Size=0x1
    unsigned char Abandoned:1;// Offset=0x1 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char DisableIncrement:1;// Offset=0x1 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char QueueReservedControlFlags:6;// Offset=0x1 Size=0x1 BitOffset=0x2 BitSize=0x6
    unsigned char QueueSize;// Offset=0x2 Size=0x1
    unsigned char QueueReserved;// Offset=0x3 Size=0x1
    unsigned char ThreadType;// Offset=0x0 Size=0x1
    unsigned char ThreadReserved;// Offset=0x1 Size=0x1
    unsigned char ThreadControlFlags;// Offset=0x2 Size=0x1
    unsigned char CycleProfiling:1;// Offset=0x2 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char CounterProfiling:1;// Offset=0x2 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char GroupScheduling:1;// Offset=0x2 Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char AffinitySet:1;// Offset=0x2 Size=0x1 BitOffset=0x3 BitSize=0x1
    unsigned char Tagged:1;// Offset=0x2 Size=0x1 BitOffset=0x4 BitSize=0x1
    unsigned char EnergyProfiling:1;// Offset=0x2 Size=0x1 BitOffset=0x5 BitSize=0x1
    unsigned char SchedulerAssist:1;// Offset=0x2 Size=0x1 BitOffset=0x6 BitSize=0x1
    unsigned char ThreadReservedControlFlags:1;// Offset=0x2 Size=0x1 BitOffset=0x7 BitSize=0x1
    unsigned char DebugActive;// Offset=0x3 Size=0x1
    unsigned char ActiveDR7:1;// Offset=0x3 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char Instrumented:1;// Offset=0x3 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char Minimal:1;// Offset=0x3 Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char Reserved4:2;// Offset=0x3 Size=0x1 BitOffset=0x3 BitSize=0x2
    unsigned char AltSyscall:1;// Offset=0x3 Size=0x1 BitOffset=0x5 BitSize=0x1
    unsigned char Emulation:1;// Offset=0x3 Size=0x1 BitOffset=0x6 BitSize=0x1
    unsigned char Reserved5:1;// Offset=0x3 Size=0x1 BitOffset=0x7 BitSize=0x1
    unsigned char MutantType;// Offset=0x0 Size=0x1
    unsigned char MutantSize;// Offset=0x1 Size=0x1
    unsigned char DpcActive;// Offset=0x2 Size=0x1
    unsigned char MutantReserved;// Offset=0x3 Size=0x1
    long SignalState;// Offset=0x4 Size=0x4
    struct _LIST_ENTRY WaitListHead;// Offset=0x8 Size=0x10
};